Программа комплексной ОЦЕНКи
и
ПРОГНОЗИРОВАНИя нестационарного процесса
(Автоматизированная система прогнозирования нестационарных процессов - А С П Н П)





Модуль “Комплексной оценки и прогнозирования нестационарного процесса” (КО ПНП) разработан с учётом возможных условий предельно ограниченного объёма входной информации с использованием пакета библиотеки прикладных программ BVVlibr заимствованного из [1, 2] для реализации [3, 4] в интересах поддержки принятия решения (ППР).


Программа предназначена для осуществления системного анализа и прогнозирования исследуемого нестационарного (стационарного, как частный случай) процесса (НП) с учетом его характера поведения по формированию базовых характеристик (трендовых закономерностей и частотного наполнения, характеризующих направление и интенсивность развития процесса) в интересах принятия о п т и м а л ь н о г о решения.





Термин/сокращение

О п и с а н и е

SDK
(от англ. software development kit) (“Прогноз”)

Комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, …

СПО

Специальное программное обеспечение

ПНП

Прогнозирование нестационарного процесса

КО ПНП

Комплексная оценка и прогнозирование нестационарного процесса

ППР

Поддержка принятия решения

АС ПНП

Автоматизированная система прогнозирования нестационарного процесса

BVVlibr

Делегируемый пакет библиотеки прикладных программ (типовых модулей, функций)





Программа прогнозирования нестационарных процессов (в т.ч. в условиях предельно ограниченного объёма информации) – это библиотечные модули программного обеспечения, позволяющие их интегрировать в различные прикладные (экспертные) системы, требующие осуществление прогностических функций в интересах поддержки принятия решений. SDK рассчитан на разработку ПО для операционных систем Windows на языке С++.





Комплект предназначен для осуществления комплексной оценки и прогнозирования (библиотечный модуль PROGNOZ( … )) в условиях (автоматического выбора соответствующей алгоритмической ветви вычислений) достаточного или предельно ограниченного объёмов информации.



Модуль PROGNOZ( … ) может быть использован в различных прикладных системах. SDK состоит из следующих библиотечных модулей:
BVVImportAlg.dll и BVVlibr.dll

К функциям библиотеки СПО КО ПНП относятся:

Кривые выявляемых закономерностей антологии (истории) исследуемого процесса:
- базовая кривая;
- верхняя ветвь Базовой кривой;
- нижняя ветвь Базовой кривой;
- трендовые составляющие базовой кривой.

Прогнозные кривые (результаты прогнозирования):
- прогнозная кривая исследуемого процесса;
- трендовая составляющая прогнозной кривой (прогнозный тренд).





Техническим результатом, на достижение которого направлена СПО КО ПНП, является повышение точности прогноза путём определения “исторически” (антологически) обоснованных закономерностей исследуемого процесса. Данный результат достигается посредством построения и использования технической системы для реализации способа на основе стандартных, общедоступных элементов вычислительной и связной техники.

Для реализации СПО КО ПНП может быть использована как регистрируемая информация, поступающая в режиме реального времени, так и информация, пополняемая текущими значениями НП по линиям связи (ЛС) с соответствующего сервера базы (файла) данных истории (архивная информация).

СПО КО ПНП используется для предоставления пользователю наглядной объективной картины того, по каким закономерностям развивался исследуемый процесс в своей истории (антологии) и корректного трендового и частотного прогноза на полученный срок, что обеспечивает достаточность информации в ППР.

Весьма важным техническим результатом является также не чувствительность системы, реализующей способ прогнозирования, к пропускам данных (разрывам информации). Это достигается путём интерполяции НП в области пропуска информации.

Тем самым, использование технической системы, реализующей СПО КО ПНП, позволяет осуществить легко читаемое графическое представление архивной, оперативной и прогнозируемой информации о НП практически в режиме реального времени. То есть для пользователя реализуется возможность наблюдать, объективно (в связи с существенным повышением достоверности получаемого прогноза дальнейшего развития НП) и оперативно оценивать перспективы и альтернативы развития текущей ситуации. А конечным результатом, в соответствии с изложенным выше, является существенное повышение эффективности работы пользователя в целом.


Система работает в сетевом варианте под управлением операционной системы Windows (XP/7 - рис. 1).


Форма графики

Результаты (при использовании проекта Danger – см. директорий UGROZ_graf-mod Дистрибутива – “PROGNOZ”) прогноза имеют автономное (могут архивироваться для отчётности) графическое и текстовое отображение.

Обработка и отображение информации осуществляется с помощью программ, написанных на языках программирования С# и C++.

В состав СПО Библиотеки КО ПНП входят следующие программные модули классов:
• базовый (partial - вызывающий) программный модуль (модуль public partial class BVVugroz);
• вызываемый программный модуль осуществления комплексной оценки и прогноза (модуль public class PROGNOZ);
• вызываемый программный модуль осуществления комплексной оценки (модуль public class KOMPLEXocen);
• вызываемый программный модуль формирования мезо (базовой) трендовой кривой (модуль public class BVVtonel);
• вызываемый программный модуль трендовых и сопутствующих аппроксимаций (модуль public class BVVaprKrv);
• вызываемый программный модуль формирования микрочастотного дополнения (модуль public class BVVchstDop);
• вызываемый программный модуль типовых решений (модуль public class BVVtip).





Данный раздел описывает структуру дистрибутива SDK поставляемой библиотеки:


• настоящее Руководство системного программиста для адаптации библиотечных файлов;
• пример адаптации библиотечного программного модуля (см. Приложение А);
• результаты комплексной оценки и прогнозирования модуля (см. Приложение Б);
• библиотечные файлы комплексной оценки и прогнозирования;
• пакет Microsoft Visual C++ 2010 Redistributable (дистрибутив - см. файл BVVImportAlg.dll);
• пакет Microsoft Visual C++ 2010 Redistributable (дистрибутив - см. файл BVVlibr.dll).
• текстовые файлы - демонстрационные приложения (см. Приложение В).
• исходный текст библиотеки (по классам с использованием заголовочных файлов – см. Приложение Г);




Блок - схема КО ПНП для осуществления комплексной оценки и прогнозирования нестационарного процесса на максимально возможный срок содержит:



5.1. Блок ввода – вывода и управления информацией состоит из:
• блок - ввода информации;
• блок - управления потоками информации;
• блок - вывода информации.



5.2. Блок микропрограммного управления прогнозированием, обеспечивающего управление следующими блоками:
-блок прогнозирования кривой значений НП на максимально возможный срок состоит из:

блока определения максимально возможного срока прогноза;
блока получения значений прогнозной кривой НП на максимально возможный срок;

- блок прогнозного сумматора;

- блок микропрограммного управления прогнозированием, обеспечивающего управление описанными выше блоками и сумматором.



5.3. Блок типовых инструментов состоит из:

- Типовой блок ОПТИМИЗАЦИИ состоит из:
• блока определения максимально возможного срока прогноза;
• блока получения значений прогнозной кривой НП на максимально возможный срок;

- Типовой блок ПРОГНОЗИРОВАНИЯ кривой значений НП состоит из:
• блока определения максимально возможного срока прогноза;
• блока получения значений прогнозной кривой НП на максимально возможный срок;
• блока получения результирующей (с учётом шумовой составляющей) прогнозной кривой значений НП на максимально возможный срок;

- Типовой блок ПРЕОБРАЗОВАНИЯ системы координат состоит из:
• блока определения максимально возможного срока прогноза;
• блока получения значений прогнозной кривой НП на максимально возможный срок;
• блока получения результирующей (с учётом шумовой составляющей) прогнозной кривой значений НП на максимально возможный срок.





При решении поставленной задачи в качестве инструмента используются обобщённые полиномы Чебышёва с коэффициентами Фурье, аппроксимирующие функции с наименьшей экстремальной ошибкой. Отмеченное свойство позволяет находить закономерности, отражающие нелинейный характер изменения на отрезке приближения, наиболее близкие к реальным. Тем самым обеспечивается наилучшее описание нестационарного характера поведения как самого процесса, так и формирования его базовых характеристик - трендовых и частотных закономерностей, характеризующих направление и интенсивность его развития. При прогнозировании кривой (Рис. 2) изменения нестационарного процесса (ПК НП) предварительно осуществляются:
• реставрация (устранение пропусков значений) ПК НП путём заполнения их интерполяционными значениями;
• анализ и восстановление во временном развитии значений ПК НП до действительных путём устранения намеренных и случайных/фоновых помех (фильтрация шумов) - выделяются линейная и нелинейная компоненты, получается фильтрационная часть значений ПК НП, из которой выделяется регулярная компонента и, путём последующего синтеза линейной, нелинейной и регулярной компонент, восстанавливаются действительные значения ПК НП и получается его аддитивная шумовая составляющая значений ПК НП, полученных после реставрации с учётом раскрытия закономерностей присущих исследуемому ПК НП.
Далее (после реставрации и восстановления до действительных значений ПК НП) осуществляется прогнозирование кривой (кривые 6, 7 рис. 2) значений ПК НП на максимально возможный срок путём:
Форма графики

- получения базовой кривой (кривая 2 рис. 2) и её огибающих ветвей (кривые 4 и 5 рис. 2);
- получения глобального тренда (кривая 3 рис. 2), несущего базовую кривую и проходящего в пределах её огибающих ветвей;
- получения прогнозных компонентов базовой кривой (кривая 7 рис. 2) и глобального тренда (кривая 6 рис. 2) и их последующего синтезирования в базовую прогнозную кривую;
- получения остатка оптимальной выборки и кривой прогнозного дополнения центрированного остатка оптимальной выборки;
- синтезирования в прогнозной области определения базовой прогнозной кривой с кривой прогнозного дополнения и получения действительной прогнозной кривой значений ПК НП; композирования полученной действительной прогнозной кривой с упомянутой аддитивной шумовой составляющей и получения результирующей прогнозной кривой значений ПК НП на максимально возможный срок.




п/п

Вызываемый модуль

Функция

1. void EXTmas(int nToch, int nExtZad, ref int nExtPol, double[] VxMas,ref int LiExtrm) Координаты экстремумов функции
2. void NULmas(double[] VxMas, int nToch, int nZadNul, ref int nPolNul, ref int LiNulei) Нули функции
3. void yMaxMin(int nToch, ref double sYmax, ref double sYmin, double[] VxMas) Максимум и Минимум функции
4. void yMax(int nTch, ref int Nmax, ref double sYmax, double[] VxMas) Максимум
5. double INTGRyi(double[] sYi, int l1, int l2) Интеграл функции
6. void PERESUL(int loKuda, int lkKuda, double[] CHTO, ref double KUDA) Пересылка с точки входа
7. void PERES(int nToch, double[] CHTO, ref double KUDA) Пересылка с начала
8. void PRVTyi(ref double sYi, int nToch) Зеркалка
9. void PERGkrd(double[] AprZoT, int lXextr1, int lXextr2, ref double sXp, ref double sYp) Координата точки перегиба
10. void CHEBdet(int nToch, int lPorApr, double[] sYi, ref double AprCheb) Аппроксимация заданного порядка
11. void CHBapr(int nToch, int LoPor, int LkPor, ref int nOptPor, double[] sYi, ref double AprCheb) Оптимальная аппроксимация
12. void PRAMln(double sXi1, double sYi1, double sXi2, double sYi2, ref double a0, ref double a1) Уравнение прямой
13. void LINmnk(int nToch, ref double a0, ref double a1, double[] VxMas) Линейная аппроксимация по МНК
14. double ZnTrnd(double a0, double a1, double Xabscis) Значение линейного тренда в точке Xabscis
15. void MASlinii(double a0, double a1, double sXo, double sXk, ref double MasPRJMOI) Массив значений линейного тренда на [sXo, sXk]
16. double ZNCHpb2(double a0, double a1, double a2, double Xtek) Значение квадратичной параболы в точке Xtek
17. void PRBLtri(double t1, double t2, double t3, double sY1, double sY2, double sY3,ref double A0, ref double A1, ref double A2) Квадратичная парабола по 3-м точкам
18. double ZNprb3(double a0, double a1, double a2, double a3, double Xtek) Значение кубической параболы в точке Xtek
19. void PRBmnk2(int nToch, ref double a0, ref double a1, ref double a2,double[] VxMas) Параболическая аппроксимация по МНК
20. void MASprb2(double a0, double a1, double a2, double sXo, double sXk, ref double MasPRBL) Массив значений квадратичной параболы на [sXo, sXk]
21. void VUBms(int lXo,int lXk,double[] OtkydaP,ref double KydaPrs) Выборка на [lXo, lXk] из массива
22. double ABSCext(double A1Prbl, double A2Prbl) Абсцисса экстремума
23. void CNTRlin(int nTchVxd, double a0, double a1, double[] yYvxd, ref double yZiVar) Линейная центровка
24. void VZVRlin(int nTchVxd, double a0, double a1, double[] yZvxd, ref double yYiVar) Обратное линейное отображение в исходную сист. координат
25. void CNTRfun(int nTchVxd, double[] yYvxd, double[] yTRDcnt, ref double yZiCNT) Нелинейная центровка
26. void VZVRfun(int nTchVxd, double[] yZvxd, double[] yTRDvzv, ref double yVOZVR) Обратное нелинейное отображение в исходную сист. координат
27. void OCNbuf(ref bool BextBuf, ref bool BUFERpr, int nAprKrv, ref double YextBuf, double[] yAprZoT) Оценка буфера
28. void SDVIGvr(ref double SDVGmas, int nToch, double SDVGvrt) Вертикальный сдвиг
29. double MODULzn(double sZs) Модуль значения
30. void TCHperg(ref bool Bperg,int lXo,int lXk,int lXextr1,double Yextr1,int lXextr2,double Yextr2,int lXoXp,int lXkXp,ref double sXp,ref double sYp,double[] AprKrv) Наличие и координата точки перегиба
31. void KORKCpr(int nTchKrv, ref int nExtPol, double[] yISHvxd, ref double yAprKrv, ref int LiExtVx) Оптимальная аппроксимация и экстремумы функции yISHvxd
32. int SHAGitr(int nAprKrv, int nExtPol, ref int lTprvEx) Минимальный шаг итерации
33. double OCNotkl(int nToch, double[] yHIST, double[] yAPRkrv) Оценка среднеквадратического отклонения
34. void SISurv4(double s11,double s12,double s13, double s14,double s21,double s22,double s23,double s24,double s31,double s32,double s33,double s34, double s41,double s42,double s43,double s44,double sY1,double sY2, double sY3, double sY4, ref double x1, ref double x2, ref double x3, ref double x4) Решение системы линейных уравнений 4-го порядка



Уместно отметить, что известные прогнозирующие технические решения используют гипотезу о стационарности процедур и не учитывают:

- Макро, Мезо и Микро трендовые составляющие;
- изменение направления по точкам перегиба;
- градиентные преобразования при центрировании НП;
- высшие порядки частотного наполнения НП;
- возможность априорного обеспечения наилучшего приближения;
- необходимость фильтрации - освобождения НП от намеренных и случайных помех (исключения “внутренних и внешних шумов”).

Разработанный метод прогнозирования нестационарных процессов позволяет:
- прогнозировать кривые значений НП с учётом их нестационарного характера поведения;
- анализировать изучаемый процесс свободный от влияния помех и частичного отсутствия (разрывов информации во времени) данных;
- уменьшить (в 5 ... 10 раз) объем выборки для каждого шага прогноза до 120 ... 150 значений НП (вместо общепринятых 600 ... 1500).


Таким образом, для обеспечения, требуемой на практике, достоверности (надёжности) и проверенности, используется разработанный автором “Способ прогнозирования нестационарного процесса”, компонентом которого является запатентованный “Способ анализа нестационарного процесса” (так называемыйфильтр”) устраняющий внешние и внутренние помехи перед применением способа прогнозирования.





Разработанная Автоматизированная Система Прогнозирования НП алгоритмически и программно з а щ и щ е н а:

1. "Способ анализа нестационарного процесса" (см. Авторский патент на изобретение № 215 9956 от 07.09.1998 г.).
2. "Способ прогнозирования нестационарного процесса" (Авторская приоритетная заявка на изобретение № 2008103335 от 01.02.2008 г.).
3. Свидетельство (за № 2009610960 от 11.02.2009) о государственной регистрации программы “Автоматизированная система прогнозирования нестационарного процесса” (см. Реестр программ для ЭВМ Федеральной службы по интеллектуальной собственности, патентам и товарным знакам).
4. "Автоматизированная система прогнозирования нестационарного процесса". Сертификат соответствия № 1493143 от 30.10.2013 г.



главная число просмотров: 71375